package com.rc.mutievcharger.dto.ylevcharger.terminal;

import com.rc.evcharger.common.annotation.ByteLength;
import com.rc.evcharger.common.base.yl.BaseYlCommand;

/**
 * (CMD=105)充电桩签到信息回复
 * Create by Yang on 2021/4/26
 * <p>
 * 说明： 1．由桩签到 106 报文的字段 4 可知道当前充电桩是否支持报文加密，桩支
 * 持加密才能下发字段 5 内容为 1 的报文。
 * 2．字段 5 内容为 1 时，登入报文采用密钥 1024 位的 RSA 算法加密
 * 3．此报文不参与任何加密方式
 * 4．后台开启登入验证时，若桩不上传 CMD1202 报文或上传 CMD1202 报文的
 * “桩登入服务器密码”字段错误，后台则断开其 SOCKET 连接，拒绝其此桩登入
 * 和处理其桩的报文。
 */
public class YlLoginCommondResp extends BaseYlCommand {

    @ByteLength(length = 2)
    private String obligate1; //预留字段1
    @ByteLength(length = 2)
    private String obligate2; //预留字段1
    @ByteLength(length = 4)
    private String pileRandom; //106 报文随机数应答    匹配码
    @ByteLength(length = 1)
    private String loginCs; //登入验证    0-不启用 CMD1202 认证1-启用 CMD1202 登入认证
    @ByteLength(length = 1)
    private String pwdFlag; //加密标志  0-启用不加密验证（需要发送 1202 报文）   1-启用 RSA 加密验证（需要发送 1202 报文）
    @ByteLength(length = 128)
    private String REANumber = ""; //RSA 公共模数   字段 5 值为 1 时填充
    @ByteLength(length = 4)
    private String REAPubSecret = ""; //RSA 公密  字段 5 值为 1 时填充

    public YlLoginCommondResp() {
    }

    public YlLoginCommondResp(String normalFlag) {
        this.obligate1 = "00 00";
        this.obligate2 = "00 00";
        this.pileRandom = "00 00 00 00";
        this.loginCs = "00";
        this.pwdFlag = "00";

    }

    public String getObligate1() {
        return obligate1;
    }

    public void setObligate1(String obligate1) {
        this.obligate1 = obligate1;
    }

    public String getObligate2() {
        return obligate2;
    }

    public void setObligate2(String obligate2) {
        this.obligate2 = obligate2;
    }

    public String getPileRandom() {
        return pileRandom;
    }

    public void setPileRandom(String pileRandom) {
        this.pileRandom = pileRandom;
    }

    public String getLoginCs() {
        return loginCs;
    }

    public void setLoginCs(String loginCs) {
        this.loginCs = loginCs;
    }

    public String getPwdFlag() {
        return pwdFlag;
    }

    public void setPwdFlag(String pwdFlag) {
        this.pwdFlag = pwdFlag;
    }

    public String getREANumber() {
        return REANumber;
    }

    public void setREANumber(String REANumber) {
        this.REANumber = REANumber;
    }

    public String getREAPubSecret() {
        return REAPubSecret;
    }

    public void setREAPubSecret(String REAPubSecret) {
        this.REAPubSecret = REAPubSecret;
    }

    //public String getNormalFlag() {
    //}
}
